/**

首先要明确一个概念
对文件或其他目标频繁的读写操作，效率低，性能差
使用缓冲流的好处是，能够更高效的读写信息，原理是将数据先缓冲起来，然后一起写入或者读取出来。
BufferedReader 从字符输入流中读取文本，缓冲各个字符，从而实现字符，数组和行的高效读取。
BufferedWriter 将文本写入字符输出流，缓冲各个字符，从而提供单个字符，数组和字符串的高效写入。

*/
package com.leo.第八章_文件与IO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.io.Reader;
public class U8_L7_缓冲流_字符 {

	public static void main(String[] args) {
		 File f=new File("E:\\eclipse-workspace\\test\\RW\\bufchario.txt");
		 if(!f.exists()) {
			 try {
				f.createNewFile();
				write(f);
				read(f);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		 }
		 
	}
	public static void write(File f) {
		try {
			Writer writer=new FileWriter(f,true);
			BufferedWriter bw=new BufferedWriter(writer);
			bw.write("这是一个字符串");
			bw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void read(File f) {
		try {
			Reader reader=new FileReader(f);
			BufferedReader br=new BufferedReader(reader);
			char [] cs=new char[1024];
			int len=-1;
			while((len=br.read(cs))!=-1) {
				System.out.println(new String(cs,0,len));
			}
			br.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
